package ru.compft.web.controller;

import org.springframework.stereotype.Controller;

import java.io.Serializable;

/**
 * User: VVasiliev
 * Date: 14.06.12
 * Time: 13:43
 * Контроллер для управления терминами системы
 */
@Controller
public class TermsController implements Serializable {
    private static final long serialVersionUID = 7276896378686539380L;

    /**
     * Получаем список всех словарей, чтоб привязать к ним термин
     */
//    public List<Dictionary> getAllDictionaries() {
//        final DictionariesService dictionariesService = (DictionariesService) FacesUtils.getSpringBean(WebConst.DICTIONARY_SERVICE);
//        return dictionariesService.getAllDictionaries();
//    }

//    public void editTerm() {
//        final TermBean termBean = (TermBean) FacesUtils.getBackingBean(WebConst.TERM_BEAN);
//        // получаем сервис работы со словарями
//        if (termBean != null) {
//            final DictionariesService dictionariesService = (DictionariesService) FacesUtils.getSpringBean(WebConst.DICTIONARY_SERVICE);
//        }
//    }

//    public void addTerm() {
//        final TermBean termBean = (TermBean) FacesUtils.getBackingBean(WebConst.TERM_BEAN);
//
//        if (termBean != null) {
//            if (termBean.getId() != null) {
//                // такого быть здесь не должно. Выходим из метода
//                // todo сделать через файл messages
//                FacesUtils.addErrorMessage(null, "Ошибка при добавлении термина");
//                return;
//            }
//            // валидация
//            if (!TermValidator.isValid(termBean)) {
//                // todo сделать через файл messages
//                FacesUtils.addErrorMessage(null, "Ошибка валидации термина");
//                return;
//            }
//
//            Term term = TermAdapter.convertToTerm(termBean);
//
//            if (term == null) {
//                // todo сделать через файл messages
//                FacesUtils.addErrorMessage(null, "Ошибка конвертации термина");
//                return;
//            }
//            final DictionariesService service = (DictionariesService) FacesUtils.getSpringBean(WebConst.DICTIONARY_SERVICE);
//
//            // вызов сервиса для добавления словаря из строки
//            final Dictionary dictionary = service.getDictionaryByCode(termBean.getDictionary());
//            if (dictionary == null) {
//                // todo сделать через файл messages
//                FacesUtils.addErrorMessage(null, "Ошибка добавления термина в словарь");
//                return;
//            }
//
//            // добавляем словарь
//            term.setDictionary(dictionary);
//            // сохраняем
//            boolean addSuccess = service.createTerm(term);
//
//            if (addSuccess) {
//                // сохранено успешно
//                // todo сделать через файл messages
//                FacesUtils.addInfoMessage(null, "Термин сохранен успешно");
//            } else {
//                // сохранено не успешно
//                // todo сделать через файл messages
//                FacesUtils.addErrorMessage(null, "Ошибка сохранения термина");
//            }
//        }
//    }
}
